package com.faithbj.common.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

/**
 * 委托信息
 * 
 * @author XiaoQuan
 * 
 */
@Entity
@Table(name = "entrust_info")
@JsonIgnoreProperties({ "checkTotal"})
public class EntrustInfo extends BaseEntity {

	private static final long serialVersionUID = -4466135146592706895L;

	private CheckTotal checkTotal;
	private String type;
	private String entrustOrg;
	private String idType;
	private String idNumber;
	private String entrustPerson;
	private String entrustNumber;
	private Date entrustDate;
	private String phone;
	private String householdLevel1;
	private String householdLevel2;
	private String livingLevel1;
	private String livingLevel2;
	private String livingLevel3;
	private String livingLevel4;
	
	/**
	 * 与核对总体情况关联的ID
	 */
	@OneToOne(mappedBy = "entrustInfo", cascade={javax.persistence.CascadeType.ALL}, optional=false)
	public CheckTotal getCheckTotal() {
		return checkTotal;
	}
	/**
	 * 业务类型
	 */
	@Column(name = "type")
	public String getType() {
		return type;
	}
	/**
	 * 委托机构
	 */
	@Column(name = "entrust_org")
	public String getEntrustOrg() {
		return entrustOrg;
	}
	/**
	 * 证件类型
	 */
	@Column(name = "id_type")
	public String getIdType() {
		return idType;
	}
	/**
	 * 证件号码
	 */
	@Column(name = "id_number", length = 18)
	public String getIdNumber() {
		return idNumber;
	}
	/**
	 * 委托人
	 */
	@Column(name = "entrust_person")
	public String getEntrustPerson() {
		return entrustPerson;
	}
	/**
	 * 委托编号
	 */
	@Column(name = "entrust_number")
	public String getEntrustNumber() {
		return entrustNumber;
	}
	/**
	 * 委托日期
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "entrust_date")
	public Date getEntrustDate() {
		return entrustDate;
	}
	/**
	 * 联系电话
	 */
	@Column(name = "phone", length = 24)
	public String getPhone() {
		return phone;
	}
	/**
	 * 户籍所在省市
	 */
	@Column(name = "household_level1")
	public String getHouseholdLevel1() {
		return householdLevel1;
	}
	/**
	 * 户籍所在区派出所
	 */
	@Column(name = "household_level2")
	public String getHouseholdLevel2() {
		return householdLevel2;
	}
	/**
	 * 现居住所在省市
	 */
	@Column(name = "living_level1")
	public String getLivingLevel1() {
		return livingLevel1;
	}
	/**
	 * 现居住所在区县
	 */
	@Column(name = "living_level2")
	public String getLivingLevel2() {
		return livingLevel2;
	}
	/**
	 * 现居住地街镇
	 */
	@Column(name = "living_level3")
	public String getLivingLevel3() {
		return livingLevel3;
	}
	/**
	 * 现居住地
	 */
	@Column(name = "living_level4")
	public String getLivingLevel4() {
		return livingLevel4;
	}

	public void setCheckTotal(CheckTotal checkTotal) {
		this.checkTotal = checkTotal;
	}

	public void setType(String type) {
		this.type = type;
	}

	public void setEntrustOrg(String entrustOrg) {
		this.entrustOrg = entrustOrg;
	}

	public void setIdType(String idType) {
		this.idType = idType;
	}

	public void setIdNumber(String idNumber) {
		this.idNumber = idNumber;
	}

	public void setEntrustPerson(String entrustPerson) {
		this.entrustPerson = entrustPerson;
	}

	public void setEntrustNumber(String entrustNumber) {
		this.entrustNumber = entrustNumber;
	}

	public void setEntrustDate(Date entrustDate) {
		this.entrustDate = entrustDate;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public void setHouseholdLevel1(String householdLevel1) {
		this.householdLevel1 = householdLevel1;
	}

	public void setHouseholdLevel2(String householdLevel2) {
		this.householdLevel2 = householdLevel2;
	}

	public void setLivingLevel1(String livingLevel1) {
		this.livingLevel1 = livingLevel1;
	}

	public void setLivingLevel2(String livingLevel2) {
		this.livingLevel2 = livingLevel2;
	}

	public void setLivingLevel3(String livingLevel3) {
		this.livingLevel3 = livingLevel3;
	}

	public void setLivingLevel4(String livingLevel4) {
		this.livingLevel4 = livingLevel4;
	}



}
